#ifndef _EXECUTABLE_FILE_ANALYZER_H_
#define _EXECUTABLE_FILE_ANALYZER_H_

#include "file_structure.h"
#include "parser.h"

#include <filesystem>
#include <memory>
#include <vector>

namespace analyzer
{

enum class verdict_type : uint8_t
{
    safe,
    dangerous
};

class executable_file_analyzer
{
public:
    executable_file_analyzer(std::filesystem::path file_path) noexcept;
    file_structure analyze();

private:
    std::filesystem::path path;
    std::vector<std::unique_ptr<parser>> parsers;
};

} // namespace analyzer

#endif
